package main

import "fmt"

func main() {
	/*
		字符串：string
	*/

	var string1 string
	string1 = "hello, demonlb\n"
	var string2 = `test\ntest\ntest`
	// 双引号，可以使用转义字符
	// 反引号，字符串跟反引号中的格式一样，即Raw Type，即使用转义字符也会原样输出

	fmt.Printf("string1=%T,string2=%T\n", string1, string2)
	// string1=string,string2=string
	fmt.Printf("string1=%v,string2=%v\n", string1, string2)
	//string1=hello, demonlb,string2=test\ntest\ntest

	// 可以直接拼接
	fmt.Println("hello" + "demonLb")
	// hellodemonLb

	// 遍历字符串
	var string3 = "hello demonLb, 我是robin"
	// 遍历数组
	string3Len := len(string3)

	for index := 0; index < string3Len; index++ {
		// fmt.Printf("%s--编码值=%d, 值=%c\n", string3, string3[index], string3[index])
		// 在这里，中文字符打印不出来，因为会 %c 只能打印一个字节，而中文有三个字节
	}

	for _, value := range string3 {
		fmt.Printf("%s--编码值=%d, 值=%c\n", string3, value, value)
		// value 是 int32 类型，即 rune 类型
	}
}
